#
# 问答题:
# 1. 用自己的话说出什么是面向对象？

# 面向对象是一种编程思想，利用“抽象”，“封装”，“继承”，“多态”来描述现实生活，目的是最大限度的趋向于现实，从而降低程序
# 开发的难度，增加可扩展和维护性，提高效率

# 2. 面向对象和面向过程的区别？

# 面向过程是把需要解决的问题封装成一个一个的函数，依次调用，顺序执行。面向对象是把需要解决的问题抽象成一个一个类，把相关的数据
# 和操作封装到一起，强调类之间的关系，数据与逻辑之间的关系。

# 3. 类名的命名规则是什么？

# class 类名：# 类名以大写字母开头
#     pass

# 4. 类的方法中，参数 self 是什么意思？

# self是调用该方法的对象

# 5. 类中的私有属性能通过对象直接访问吗?

# 不能

# 6. 要想访问类中的私有属性该怎么办?

# 可以通方法给外部对象提供对私有属性访问
#
# 练习题
#
# 2. 定义一个水果类，然后通过水果类，创建苹果对象、橘子对象、西瓜对象并分别添加属性:颜色和价格
#


class Fruit:
    def __init__(self, color, price):
        self.color = color
        self.price = price


apple = Fruit("red", 5)
orange = Fruit("orange", 10)
xigua = Fruit("green", 20)


# 3. 定义一个电脑类,电脑有品牌,有价格,能放电影。分别创建2个对象"联想电脑" 和 "苹果电脑"。调用放电影的动作,联想电脑播放 电影"葫芦娃"，苹果电脑播放"黑猫警长"。


class Computer:
    def __init__(self, brand, price):
        self.brand = brand
        self.price = price

    def play_av(self, av_name):
        print("播放电影：%s" % av_name)


c1 = Computer("lenovo", 10)
c2 = Computer("apple", 10000)

c1.play_av("葫芦娃")
c2.play_av("黑猫警长")

